# 接到袁老师的任务，用python来完成斐波那契的图形化表达，
# 经过几次debudg 终于完成，代码如下：

import turtle
r = 20
def draw_square(r):
    
    for i in range(4):
        turtle.fd(r) # 海龟前进
        turtle.left(90) # 海龟左转90°
        # 填充关键点,正方形填充一半就结束,然后立即开始圆形填充
        
    turtle.circle(r, 90) # 这里r是半径，90指夹角是90°
    
    return

# 返回一个Fibonacci列表[1, 1, 2, 3, 5...]
def fibo(n):
    f_1 = 1
    f_2 = 1
    fibo_list = [1, 1]
    for i in range(n - 2):
        fibo_num = f_1 + f_2
        fibo_list.append(fibo_num)
        f_1, f_2 = f_2, fibo_num
    return fibo_list

if __name__ == '__main__':

    # turtle.speed(0) # 设置绘图速度为最快
    # turtle.delay(0) # 设置延迟为0
    # t = turtle.Turtle()
    # turtle.hideturtle() # 隐藏海龟
    turtle.up() # 画笔抬起
    turtle.goto(-0, 50) # 前往这个坐标
    turtle.down() # 画笔落下
    turtle.pensize(3) # 设置线条粗细
    

    # 生成Fibonacci列表
    fibo_list = fibo(10) # 因为画图是从第二个数开始的，所以这里要比下面的循环多生成一个数

    for _ in range(10):
        draw_square(r * fibo_list[_ + 1])

    turtle.hideturtle()
    # 貌似这两个都是开始事件循环
    turtle.done()
    # turtle.mainloop()